#ifndef SOUNDSYSTEM_H
#define SOUNDSYSTEM_H

#include "utilities.h"

#include <QString>
#include <QHash>
#include <fmod.h>
#include <fmod_errors.h>

class SoundSystem
{
public:
   static SoundSystem* instance();
   static void destroy();

   enum SFX_TYPE
   {
      SFX_NONE,
      SFX_TOWER_BEAM_FIRE,
      SFX_UNIT_DEATH
   };

   virtual bool playSound(const SFX_TYPE sfx);
   virtual bool mute(bool value);

protected:
   SoundSystem();
   virtual ~SoundSystem();
   virtual void createSounds();
   virtual void releaseSounds();

   static SoundSystem *mInstance;
};

#endif // SOUNDSYSTEM_H
